package com.lsh.oms.api.model.order.create;

import com.lsh.oms.api.common.annotation.ParamRequired;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;

import java.math.BigDecimal;

/**
 * Project Name: lsh-oms
 *
 * @author peter
 * @date 18/9/5
 * 北京链商电子商务有限公司
 * Package
 * desc:
 */
@Setter
@Getter
@NoArgsConstructor
@ToString
public class MisOrderDetailDTO {
    /**
     * 行项目 下单真实
     */
//    @ParamRequired
    private Integer itemCode;
    /**
     * 行项目 用于拆单
     */
    @ParamRequired
    private String itemNo;
    /**
     * '1.自采 2.寄售 3.代销'
     */
    @ParamRequired
    private Integer type;
    @ParamRequired
    private Long skuCode;
    @ParamRequired
    private Long goodsCode;
    @ParamRequired
    private String goodsName;
    @ParamRequired
    private String goodsBarcode;
    @ParamRequired
    private BigDecimal goodsSaleUnit;
    /**
     * 版本
     */
    private Long goodsVersion;
    /**
     * ext
     */
    private String goodsExtAttrs;
    @ParamRequired
    private BigDecimal originalPrice;
    @ParamRequired
    private BigDecimal sellingPrice;
    @ParamRequired
    private BigDecimal price;
    /**
     * 下单数量  销售数量
     */
    private BigDecimal quantity;

    /**
     * give_from
     */
    private Long giftSrcCode;
    private String giveInfo;

    @ParamRequired
    private String imgList;
    /**
     * package_id
     */
    private Long packageCode;
    private String orderPackageInfo;

    /**
     * 云仓 2018-08-30 云仓需求所加
     */
    @ParamRequired
    private String providerId;
    /**
     * 名称
     */
    private String providerName;
    /**
     * 优惠信息
     */
    private String activityInfo;
    /**
     * 2018-11-05
     */
    private BigDecimal realQty;
    @ParamRequired
    private BigDecimal discountPrice;
    @ParamRequired
    private BigDecimal placedPrice;
    @ParamRequired
    private BigDecimal couponMoney;
    @ParamRequired
    private BigDecimal placedMoney;

    private String couponInfo;

    /**
     * 是否黑名单商品, 0否, 1不参与计算优惠
     */
    @ParamRequired
    private Integer isBlacklist;
    /**
     * 是否有发票, 0无发票, 1有发票
     */
    @ParamRequired
    private Integer isInvoice;
    /**
     * 发票费率类型, 1为0%, 2为13%, 3为17%
     */
    @ParamRequired
    private Integer invoiceRate;

    /**
     * 用于价格计算
     */
    @ParamRequired
    private BigDecimal cutPromotionMoney;
    /**
     * 用于价格计算
     */
    @ParamRequired
    private BigDecimal ticketCouponPromotionMoney;
    /**
     * 是否称重
     */
    private Integer isWeighingGoods;

    @ParamRequired
    private Integer saleModel;

}
